package com.bd.scm.module.depCardApplication.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bd.scm.dao.mapper.depCardApplication.BdDepCardUseMapper;
import com.bd.scm.domain.dto.depCardApplication.BdDepCardUseDto;
import com.bd.scm.domain.models.depCardApplication.BdDepCardUse;
import com.bd.scm.module.common.BaseServiceImpl;
import com.bd.scm.module.depCardApplication.service.IBdDepCardUseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**部门卡使用情况 ServiceImpl
 * @ClassName BdDepCardUseServiceImpl
 * @Description TODO
 * @Author YH
 * @Date 2019/12/21 0021 10:38
 * @Version 1.0
 **/
@Service
@Slf4j
public class BdDepCardUseServiceImpl extends BaseServiceImpl<BdDepCardUseMapper, BdDepCardUse> implements IBdDepCardUseService {

  /*部门卡使用情况Smapper*/
  @Autowired
  private BdDepCardUseMapper bdDepCardUseMapper;


  /**
   * 获取分页查询所有的部门使用情况
   * @param page
   * @param bdDepCardUseDto
   * @return
   */
  @Override
  public IPage<BdDepCardUseDto> findBdDepCardUseList(Page<BdDepCardUseDto> page, BdDepCardUseDto bdDepCardUseDto) {
    return this.bdDepCardUseMapper.findBdDepCardUseList(page,bdDepCardUseDto);
  }

  /**
   * 获取人员下拉框
   * @return
   */
  @Override
  public List<JSONObject> findUserList(String userName) {
    return this.bdDepCardUseMapper.findUserList(userName);
  }

  /**
   * 获取部门卡
   * @param bdDepCardUseDto depSerial 部门ID aplicantDate 申请日期
   * @return
   */
  @Override
  public List<JSONObject> findDapCardList(BdDepCardUseDto bdDepCardUseDto) {
    return this.bdDepCardUseMapper.findDapCardList(bdDepCardUseDto);
  }

  /**
   * 添加部门使用记录
   * @param bdDepCardUseDto
   * @return
   */
  @Override
  public String insertBdDepCardUse(BdDepCardUseDto bdDepCardUseDto,String clientIp) {
    String r = null;
    String ifCount = this.bdDepCardUseMapper.findIfCount(bdDepCardUseDto);
    System.out.println(ifCount+" ====================>");
    if(null == ifCount || "".equals(ifCount)){
      int i = this.bdDepCardUseMapper.insertBdDepCardUse(bdDepCardUseDto);
      if (i > 0) {
        //日志
      } else {
        r = "添加失败";
      }
    }else{
      r = "该部门卡在"+bdDepCardUseDto.getApplicantDate()+"被"+ifCount+"使用";
    }
    return r;
  }

  /**
   * 修改部门使用记录
   * @param bdDepCardUseDto
   * @return
   */
  @Override
  public String updateBdDepCardUse(BdDepCardUseDto bdDepCardUseDto,String clientIp) {
    String r = null;
    int i = this.bdDepCardUseMapper.updateBdDepCardUse(bdDepCardUseDto);
    if (i > 0) {
      //日志
    } else {
      r = "修改失败";
    }
    return r;
  }


  /**
   * 删除部门使用记录
   * @param bdDepCardUseDto
   * @return
   */
  @Override
  public String deleteBdDepCardUse(BdDepCardUseDto bdDepCardUseDto,String clientIp) {
    String r = null;
    int i = this.bdDepCardUseMapper.deleteBdDepCardUse(bdDepCardUseDto);
    if (i > 0) {
      //日志
    } else {
      r = "删除失败";
    }
    return r;
  }

}
